package com.portico.dept.tech.estimation

import com.portico.dept.tech.estimation.line.AnalysisLine
import com.portico.dept.tech.estimation.line.DesignLine
import com.portico.dept.tech.estimation.line.DevelopmentLine
import com.portico.dept.tech.estimation.line.TestLine


class EstimationLineItem {

  String name;
  String description;
  String projectionFor ; // Technology or ClientDelivery

  AnalysisLine analysis;
  DesignLine design;
  DevelopmentLine development;
  TestLine internalQA;
  TestLine userAcceptanceTesting;
  
  float training;
  float production;
  float solutionArchitecture;
  float projectManagement;

  static embedded = ['analysis', 'design','development','internalQA', 'userAcceptanceTesting' ]

  static constraints = {
    name blank:false
    description blank:false
    projectionFor inList:["Technology","ClientDelivery"]
    analysis nullable:true
    design nullable:true
    development nullable:true
    internalQA nullable:true
    userAcceptanceTesting nullable:true
  }


  static mapping = {
    table "estimation_line_item"
  }
}
